#ifndef _imp_type_define_h_
#define _imp_type_define_h_

typedef char			Int8;
typedef short			Int16;
typedef int				Int32;
typedef unsigned char	UInt8;
typedef unsigned short	UInt16;
typedef unsigned int	UInt32;

typedef char 			*ImpStr;
typedef const char	 	*ImpCStr;
typedef short			*ImpUStr;
typedef const short		*ImpUCStr;

typedef int				ImpBool;

#define	IMP_False	0
#define IMP_True	1

typedef struct
{
	Int32 x;
	Int32 y;
}t_imp_point, IMP_Point;
typedef struct
{
	Int32 w;
	Int32 h;
}t_imp_size, IMP_Size;
typedef struct 
{
    Int32    x;
    Int32    y;
    Int32    w;
    Int32    h;
}t_imp_rect, IMP_Rect;

#ifndef NULL
#define NULL    0
#endif

#define mii_ltobl(l) ((((l) & 0xff000000) >> 24) | \
				  (((l) & 0x00ff0000) >>  8) | \
				  (((l) & 0x0000ff00) <<  8) | \
				  (((l) & 0x000000ff) << 24))
#define mii_ltobs(s) ((((s) >> 8) & 0xff) | \
				  (((s) << 8) & 0xff00))
#endif
